# 递归函数
'''
在函数的内部自己调用自己，并且有退出函数的出后

应用：
1.如果要遍历一个文件夹下面所有的文件，通常会使用递归来实现；
2.在后续的算法课程中，很多算法都离不开递归，例如：快速排序。
'''


# 需求：计算一个正整数n的阶乘

def test(n: int) -> int:
    """
    计算一个数字n的阶乘
    :param n: 正整数
    :return:
    """
    if n == 1:
        return 1  # 递归函数退出的出口
    return n * test(n - 1)  # 自己调用自己


print(test(2))
print(test(6))
